Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

241
Vistas
El comodín (*) no funciona. Al buscar en una carpeta un documento con un tipo de archivo variable, la función "*" parece no funcionar

Tengo problemas con el comodín * . Quiero buscar un documento en una carpeta y devolver su ubicación. El problema es que el documento puede ser .xlsx o .pdf ; por lo tanto, quería agregar "*" al nombre para que encontrara cualquiera.

Tengo esto:

 Sub Test2() Dim FSO As New FileSystemObject Dim myFolder As Scripting.Folder Dim mySubFolder As Scripting.Folder Dim myFile As File Set myFolder = FSO.GetFolder("Folder Path") Set Team3 = ThisWorkbook.Worksheets("Team 3 & 3a") Rng = Team3.Range("B4:B9") For Each batch In Rng Filename = batch & "*" For Each mySubFolder In myFolder.SubFolders For Each myFile In mySubFolder.Files If myFile.Name = Filename Then MsgBox myFile.Path Exit For End If Next Next Next End Sub

El problema que tengo es que el comodín * no parece funcionar y parece interpretarlo como texto. Si reemplazo el "*" con ".pdf" , de hecho encuentra los archivos, pero lo necesitaba para buscar cualquier tipo de archivo.

Eliminé la ruta de la carpeta de arriba, pero de hecho está buscando en la carpeta correcta. El código en sí funciona, es solo el "*" que no parece funcionar.

Cualquier ayuda sería muy apreciada.

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Gracias, FunThomas por ayudar con esto. No estoy seguro de cómo funciona este sitio, pero la siguiente fue la respuesta que dio.

 Sub Test2() Dim FSO As New FileSystemObject Dim myFolder As Scripting.Folder Dim mySubFolder As Scripting.Folder Dim myFile As File Set myFolder = FSO.GetFolder("Folder Path") Set Team3 = ThisWorkbook.Worksheets("Team 3 & 3a") Rng = Team3.Range("B4:B9") For Each batch In Rng Filename = batch & "*" For Each mySubFolder In myFolder.SubFolders For Each myFile In mySubFolder.Files If myFile.Name Like Filename Then MsgBox myFile.Path Exit For End If Next Next Next End Sub
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda